// ==================== Tabbar页面逻辑：我的 ====================
import {
  hasLogin
} from '../../util/tools.js'

import {
  // 获取指定订单状态的数量
  getOrderStatusCount,
  // 获取最新未支付订单信息
  getNewestUnpaidOrder,
} from "../../api/orderApi"

Page({
  properties: {

  },
  data: {
    top: getApp().menuCapsulePosition.top, //胶囊按钮和屏幕顶部的距离
    height: getApp().menuCapsulePosition.height, //胶囊按钮的高度
    capsuleWidth: getApp().menuCapsulePosition.width,
    capsuleRight: getApp().menuCapsulePosition.right,
    userInfo: {}, // 用户信息
    isDefault:true, // 用户信息是否为默认的，true为默认的
    waitPayCount:0, // 待支付订单数量
    waitReceiveCount:0, // 待收货订单数量
    newestUnpaidOrder:'', // 最新未支付订单信息
    timeOut:true, // 最新未支付订单是否超时
    isLogin:false,//判断用户是否已登录
  },

  //在show生命周期函数中监听缓存中的数据是否变化
  onShow: function () {
    // 初始化用户信息
   this.initUserInfo()
   if(getApp().token){
     //  初始化 未支付订单数量
     this.initWaitPayCount()
     // 初始化 待收货订单数量  
     this.initWaitReceiveCount()
     // 初始化 最新未支付订单信息
     this.initNewestUnpaidOrder()
   }else{
     this.setData({
      waitPayCount:0, 
      waitReceiveCount:0,
      timeOut:true
     })
   }
   getApp().initialCartTabBarBadge() // 初始化购物车tab右上角的数量
   console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>进入我的页面时,token为:",getApp().token);
   //初始化登录状态
   if (getApp().token) {
    this.setData({
      isLogin:true
    })
   }else{
     this.setData({
       isLogin:false
     })
   }
  },


  /**
   * 初始化 最新未支付订单信息
   */
  initNewestUnpaidOrder:function(){
    getNewestUnpaidOrder().then(res=>{
      console.log("请求最新未支付订单成功",res);
      this.setData({
        timeOut:res.data.isTimeout, // 订单是否超时
        newestUnpaidOrder:res.data.orderInfo // 订单信息
      })
    }).catch(err=>{
      console.log("请求最新未支付订单失败",err);
    })
  },

  /**
   * 初始化 待收货订单的数量
   */
  initWaitReceiveCount:function(){
    getOrderStatusCount("waitReceive").then(res=>{
      console.log("获取【待收货】订单数量成功",res.data.amount);
      this.setData({ waitReceiveCount:res.data.amount })
    }).catch(err=>{
      console.log("获取【待收货】订单数量失败",err);
    })
  },

  /**
   * 初始化 未支付订单的数量
   */
  initWaitPayCount:function(){
    getOrderStatusCount("waitPay").then(res=>{
      console.log("获取未支付订单数量成功",res.data.amount);
      this.setData({ waitPayCount:res.data.amount })
    }).catch(err=>{
      console.log("获取未支付订单数量失败",err);
    })
  },



  /**
   * 初始化用户的信息
   */
  initUserInfo:function(){
     // 判断是否存在token
     if(getApp().token){
      // 用户信息为默认的，且已经登录，就需要修改用户信息
      if(this.data.isDefault){
        //获取缓存中的用户信息
        let tem2 = wx.getStorageSync('userInfo')
        this.setData({ userInfo: JSON.parse(tem2)})
        this.data.isDefault = false // 设置该标识为false，表示用户信息不为默认的
      }
    }else{
      let tem = {
        avatarUrl: "/images/logo3.png",
        nickName: "登录"
      }
      //如果缓存中没有用户信息,设置为默认头像
      this.setData({ userInfo: tem })
      this.data.isDefault = true 
    }
  },

  handleLogin: function () {
    console.log("点击了登录区域....");
    let isLogin = hasLogin()
    console.log(isLogin);
    //判断用户是否已登录,
    if (isLogin) {
      //如果已登录,不在跳转到登录页面
      console.log("用户已经登录了");
    } else {
      //如果还没有登录,跳转到登录页面
      console.log("用户没有登录");
      wx.navigateTo({
        url: '/pages/my/login/login',
      })
    }
  },

  /**
   * 点击进入消息通知页面
   */
  handleIntoServiceMsg: function () {
    console.log("点击进入消息通知页面.....");
    wx.showToast({
      title: '功能升级中，暂未开放',
      icon:'none',
      duration:1500
    })
  },

  /**
   * 点击进入待付款订单列表页面
   */
  handleWaitPay: function () {
    console.log("进入待付款订单列表页面");
    if(!getApp().token){
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
      return
    }
    //跳转页面并传参
    wx.navigateTo({
      url: '/pages/my/myOrders/myOrders?active=1',
    })
  },

  /**
   * 点击进入 待收货订单列表页面
   */
  handleWaitReceive: function () {
    console.log("进入待收货订单列表");
    if(!getApp().token){
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
      return
    }
    wx.navigateTo({
      url: '/pages/my/myOrders/myOrders?active=2',
    })
  },

  /**
   * 点击进入 退货/售后订单列表页面
   */
  handleAfterSale: function () {
    console.log("进入退货/售后订单列表");
    if(!getApp().token){
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
      return
    }
    wx.navigateTo({
      url: '/pages/my/customer-service/customerService',
    })
  },

  /**
   * 处理点击进入 待评价订单页面
   */
  handleNoEvaluation:function(){
    if(!getApp().token){
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
      return
    }
    wx.showToast({
      title: '功能升级中，敬请期待',
      icon:"none"
    })
  },

  /**
   * 点击进入全部订单页面
   */
  handleIntoMyOrders() {
    if(!getApp().token){
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
      return
    }
    wx.navigateTo({
      url: '/pages/my/myOrders/myOrders?active=0',
    })
  },

  /**
   * 点击进入设置页面
   */
  handleSetting: function () {
    console.log("进入设置页面");
    wx.navigateTo({
      url: './settings/settings',
    })
  },

  /**
   * 点击进入收货地址管理页面
   */
  handleAdddress() {
    console.log("进入收货地址管理页面");
    if (!hasLogin()) {
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
      return
    }
    wx.navigateTo({
      url: './addressManger/addressManger',
    })
  },
  
  /**
   * 处理点击进入客服页面
   */
  handleService() {
    console.log("进入客服页面");
    if(getApp().token){
      wx.navigateTo({
        url: '/pages/my/customer-service/customerService',
      })
    }else{
        //如果还没有登录,跳转到登录页面
      wx.navigateTo({
        url: '/pages/my/login/login',
      })
    }
  },
  
  intoLogin() {
    //处理如果没有登录跳转到登录页面
    if (!hasLogin()) {
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
    }
  },
  /**
   * 点击退款/售后按钮
   */
  clickAfterSale(){
    if (!hasLogin()) {
      wx.showToast({
        title: '请先登录',
        icon: "none"
      })
    }
  }
})